package com.relytosoft.mizar.media.camera.api.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.relytosoft.dubhe.common.core.base.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;

/**
 * @author lj
 */
@TableName("VID_CAMERA_CHANNELOSD")
@ApiModel("CameraChannelosd")
public class CameraChannelOsd extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 通道ID
     */
    @ApiModelProperty(value = "通道ID", required = true)
    @NotBlank(message = "通道ID不能为空")
    @TableId(value = "CHANNEL_ID", type = IdType.AUTO)
    private Integer channelId;


    /**
     * 是否启用OSD
     */
    @ApiModelProperty(value = "是否启用OSD", required = true)
    @TableField("IS_ENABLE")
    @NotBlank(message = "是否启用OSD不能为空")
    private Integer isEnable;


    /**
     * 是否显示时间
     */
    @ApiModelProperty(value = "是否显示时间", required = true)
    @TableField("IS_SHOWTIME")
    @NotBlank(message = "是否显示时间不能为空")
    private Integer isShowtime;


    /**
     * 显示时间格式
     */
    @ApiModelProperty(value = "显示时间格式")
    @TableField("TIME_FORMAT")
    private String timeFormat;


    /**
     * 时间显示坐标X
     */
    @ApiModelProperty(value = "时间显示坐标X")
    @TableField("TIME_X")
    private BigDecimal timeX;

    /**
     * 时间显示坐标Y
     */
    @ApiModelProperty(value = "时间显示坐标Y")
    @TableField("TIME_Y")
    private BigDecimal timeY;


    /**
     * 是否显示名称
     */
    @ApiModelProperty(value = "是否显示名称", required = true)
    @TableField("IS_SHOWNAME")
    @NotBlank(message = "是否显示名称不能为空")
    private Integer isShowname;

    /**
     * 名称
     */
    @ApiModelProperty(value = "名称")
    @TableField("NAME")
    private String name;

    /**
     * 名称显示坐标X
     */
    @ApiModelProperty(value = "名称显示坐标X")
    @TableField("NAME_X")
    private BigDecimal nameX;

    /**
     * 名称显示坐标Y
     */
    @ApiModelProperty(value = "名称显示坐标Y")
    @TableField("NAME_Y")
    private BigDecimal nameY;

    /**
     * 获得通道ID
     */
    public Integer getChannelId() {
        return this.channelId;
    }

    /**
     * 设置通道ID
     */
    public void setChannelId(Integer channelId) {
        this.channelId = channelId;
    }

    /**
     * 获得是否启用OSD
     */
    public Integer getIsEnable() {
        return this.isEnable;
    }

    /**
     * 设置是否启用OSD
     */
    public void setIsEnable(Integer isEnable) {
        this.isEnable = isEnable;
    }

    /**
     * 获得是否显示时间
     */
    public Integer getIsShowtime() {
        return this.isShowtime;
    }

    /**
     * 设置是否显示时间
     */
    public void setIsShowtime(Integer isShowtime) {
        this.isShowtime = isShowtime;
    }

    /**
     * 获得显示时间格式
     */
    public String getTimeFormat() {
        return this.timeFormat;
    }

    /**
     * 设置显示时间格式
     */
    public void setTimeFormat(String timeFormat) {
        this.timeFormat = timeFormat;
    }

    /**
     * 获得时间显示坐标X
     */
    public BigDecimal getTimeX() {
        return this.timeX;
    }

    /**
     * 设置时间显示坐标X
     */
    public void setTimeX(BigDecimal timeX) {
        this.timeX = timeX;
    }

    /**
     * 获得时间显示坐标Y
     */
    public BigDecimal getTimeY() {
        return this.timeY;
    }

    /**
     * 设置时间显示坐标Y
     */
    public void setTimeY(BigDecimal timeY) {
        this.timeY = timeY;
    }

    /**
     * 获得是否显示名称
     */
    public Integer getIsShowname() {
        return this.isShowname;
    }

    /**
     * 设置是否显示名称
     */
    public void setIsShowname(Integer isShowname) {
        this.isShowname = isShowname;
    }

    /**
     * 获得名称
     */
    public String getName() {
        return this.name;
    }

    /**
     * 设置名称
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 获得名称显示坐标X
     */
    public BigDecimal getNameX() {
        return this.nameX;
    }

    /**
     * 设置名称显示坐标X
     */
    public void setNameX(BigDecimal nameX) {
        this.nameX = nameX;
    }

    /**
     * 获得名称显示坐标Y
     */
    public BigDecimal getNameY() {
        return this.nameY;
    }

    /**
     * 设置名称显示坐标Y
     */
    public void setNameY(BigDecimal nameY) {
        this.nameY = nameY;
    }

    @Override
    public String toString() {
        return "CameraChannelOSD{" +
                "channelId=" + channelId +
                ", isEnable=" + isEnable +
                ", isShowtime=" + isShowtime +
                ", timeFormat='" + timeFormat + '\'' +
                ", timeX=" + timeX +
                ", timeY=" + timeY +
                ", isShowname=" + isShowname +
                ", name='" + name + '\'' +
                ", nameX=" + nameX +
                ", nameY=" + nameY +
                '}';
    }
}
